<head>
  <style> body { margin: 0; } </style>

  <script src="//unpkg.com/3d-force-graph"></script>
<!--  <script src="../../dist/3d-force-graph.js"></script>-->
</head>

<body>
<div id="3d-graph"></div>

<script>
  // Random tree
  const N = 300;
  const gData = {
    nodes: [...Array(N).keys()].map(i => ({ id: i })),
    links: [...Array(N).keys()]
      .filter(id => id)
      .map(id => ({
        source: id,
        target: Math.round(Math.random() * (id-1))
      }))
  };

  const Graph = ForceGraph3D()
    (document.getElementById('3d-graph'))
      .cooldownTicks(100)
      .graphData(gData);

  // fit to canvas when engine stops
  Graph.onEngineStop(() => Graph.zoomToFit(400));
  </script>
</body>